"""
!/usr/bin/env python
-*- coding: utf-8 -*-
@Author  : MarkJia
@Site    : 
@File    : 6、运行用例.py
"""

"""
运行用例：
    运行 某个/多个 用例包
    运行 某个/多个 用例模块
    运行 某个/多个 用例类
    运行 某个/多个 用例方法

运行方式：
     1、pycharm运行方式
     2、python代码方式 - python 解释器。 jenkins 持续集成
        1、使用main()函数方式，为了以后用python调用    python 文件名.py
        2、最简单的方式 ： python -m pytest 6、运行用例.py
    # ==========   重要  =====================
     3、命令行运行 - pytest 解释器
        运行所有的用例  pytest /py.test[包名]
        运行某一个用例模块  pytest 文件名.py     pytest 6、运行用例.py
        运行模块中某个类  pytest 文件名.py::类名     pytest -v 6、运行用例.py::TestDemo
        运行模块中某个类中的某个方法   pytest 文件名.py::类名::方法
            列如 ： 只运行类中的test_demo方法   pytest -v 6、运行用例.py::TestDemo::test_demo
运行结果：
    PASSED : 运行成功
    FAILED : 运行失败   最下面失败的原因
    error ： 代码错误
    warning : 警告  比如添加pytest没法识别的插件
    deselect : 没有被选中
"""

import pytest

# 结果在本模块中一定是__main__
# 当被其他模块导入引用时，不在是main
print(__name__)  # 结果 ： __main__

# python中：模块的入口函数    执行用：python 6、运行用例.py
if __name__ == '__main__':
    # 运行当前目录下所有符合规则的用例   包括子目录（test_* 或者 _test结尾）
    pytest.main(['./6、运行用例.py'])
    # 运行某一条用例   放在列表
    pytest.main(['6、运行用例.py::TestDemo::test_demo', '-vs'])
    # 运行smoke标签用例
    pytest.main(['6、运行用例.py', '-vs', '-m', 'smoke'])
    # 或者直接使用  python -m pytest 文件名.py（直接调用，不用使用main函数） 后面集成到jenkins


def test_1():
    assert 1 == 1


class TestDemo:
    def test_demo(self):
        pass

    @pytest.mark.smoke
    def test_demo1(self):
        pass
